package com.sora.exception;

import com.sora.enums.ResultCode;
import lombok.Getter;
import org.springframework.web.bind.annotation.RestControllerAdvice;

//@Getter
//public class ApiException extends RuntimeException{
//
//    private final String msg;
//    private final ResultCode resultCode;
//
//    public ApiException(ResultCode resultCode, String msg) {
//        super(msg);
//        this.msg = msg;
//        this.resultCode = resultCode;
//    }
//
//    public ApiException(ResultCode resultCode) {
//        this(resultCode, resultCode.getMsg());
//    }
//
//    public ApiException(String msg) {
//        this(ResultCode.FAILED, msg);
//    }
//
//    public ApiException() {
//        this(ResultCode.FAILED);
//    }
//}
@Getter
public class ApiException extends RuntimeException {
    private final String msg;
    private final ResultCode resultCode;

    public ApiException() {
        this(ResultCode.FAILED);
    }

    public ApiException(String msg) {
        this(ResultCode.FAILED, msg);
    }

    public ApiException(ResultCode resultCode) {
        this(resultCode, resultCode.getMsg());
    }

    public ApiException(ResultCode resultCode, String msg) {
        super(msg);
        this.resultCode = resultCode;
        this.msg =  msg;
    }
}
